perm filename ROMITL.MF[1,3] blob
sn#549040 filedate 1980-12-10 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00009 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 % This file defines characters common to roman and italic text fonts
C00003 00003 "The Scandinavian letter o-slash"
C00004 00004 "Closing quotes"
C00005 00005 "Hyphen"
C00006 00006 "The Scandinavian letter O-slash"
C00007 00007 "Opening quotes"
C00008 00008 "En dash"
C00009 00009 "Em dash"
C00011 ENDMK
C⊗;
% This file defines characters common to roman and italic text fonts
% that do not appear in non-ligature fonts.
% Character codes \¬040, \¬042, \¬055, \¬100, \¬134, \¬136, \¬137 are used.
"The Scandinavian letter o-slash";
if ligs≠2:
call charbegin('040,9,0,0,px+.5pd,.5pd,(px+.5pd).slant+.5(pw-.5[pwi,pwii]));
hpen; x1=r-x1; % axis of left-right symmetry
new w99; w99=round .5[w1,w2];
if fixwidth=0: lft99x2=round .5u;
else: lft99x2=round 1.5u;
fi;
x1-x2=x3-x1; top0y1=m+oo; bot0y2=-oo; y2=y3;
call `a darc(1,2,w99); % left part of bowl
call `b darc(1,3,w99); % right part of bowl
x4=x2; x5=x3; y4=-.5d; y5=m+.5d;
w0 draw 4..5; % diagonal
fi.
"Closing quotes";
call charbegin('042,9,0,0,ph,0,2/3[px,ph].slant+.5pw-2.5pu);
% There is rotational symmetry with respect to opening quotes.
cpen; top3y1=top6y2=h; top6y4=m; y3=2/3[y4,y2];
x1=x2=good3 1.5u; x3=good0(x1+u+eps); x4=x1-.5u-eps;
x11-x1=x12-x2=x13-x3=x14-x4=round 3.5u;
y11=y1; y12=y2; y13=y3; y14=y4;
w3 draw 1; % left bulb
draw 11; % right bulb
hpen; w0 draw 2{1,0}..3{0,-1}..4{3(x4-x3),y4-y3}; % left tail
draw 12{1,0}..13{0,-1}..14{3(x14-x13),y14-y13}. % right tail
lig `': `' = '042;
"Hyphen";
call charbegin('055,fixwidth[6,9],0,0,px,0,.5px.slant-.5pu);
vpen; y1=y2=.5m;
if fixwidth=0: lft7x1=0; rt7x2=r-u;
else: lft7x1=1.5u; x2=r-x1;
fi;
w7 draw 1..2. % bar
"The Scandinavian letter O-slash";
call charbegin('100,14,0,0,phh+pb,pb,.5phh.slant-.5pu);
hpen; new w99; w99=round .5[w4,w5];
if fixwidth≠0: new save; save=sqrttwo;
new sqrttwo; sqrttwo=sqrt save; % super-superellipse
lft99x2=round 1.5u;
else: lft99x2=round u;
fi;
x1=r-x1; % axis of left-right symmetry
top0y1=hh+o;
bot0y2=-o; y3=y2; x3=r-x2;
call `a darc(1,2,w99); % left part of bowl
call `b darc(1,3,w99); % right part of bowl
if fixwidth≠0: new sqrttwo; sqrttwo=save;
fi;
top0y4=hh+b; bot0y5=-b; rt0x4=lft5x3; lft0x5=rt0x2;
w0 draw 4..5; % diagonal
fi.
"Opening quotes";
call charbegin('134,9,0,0,ph,0,ph.slant+.5pw-.5pu);
% There is rotational symmetry with respect to closing quotes.
cpen; bot3y1=bot6y2; top6y4=h; y3=2/3[y4,y2]; y2-y4=m-h;
x1=x2=good3 4u; x3=good0(x1-u-eps); x4=x1+.5u+eps;
x11-x1=x12-x2=x13-x3=x14-x4=round 3.5u;
y11=y1; y12=y2; y13=y3; y14=y4;
w3 draw 1; % left bulb
draw 11; % right bulb
hpen; w0 draw 2{-1,0}..3{0,1}..4{3(x4-x3),y4-y3}; % left tail
draw 12{-1,0}..13{0,1}..14{3(x14-x13),y14-y13}. % right tail
lig ``: `` = '134;
"En dash";
call charbegin('136,9,0,0,px,0,.5px.slant+.5pu);
hpen; lft0x1=0; rt0x2=r; y1=y2=.5m;
w0 draw 1..2. % bar
lig `-: `- = '136;
"Em dash";
call charbegin('137,18,0,0,px,0,.5px.slant+.5pu);
hpen; lft0x1=0; rt0x2=r; y1=y2=.5m;
w0 draw 1..2. % bar
lig '136: `- = '137;